package cn.shujuhai.cms.service;

import cn.shujuhai.cms.domain.Struct;
import cn.shujuhai.cms.domain.StructParam;
import cn.shujuhai.common.pluging.data.ResultVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;

import java.util.List;

/**
 * @author 4g0
 * @description 针对表【struct】的数据库操作Service
 * @createDate 2025-08-05 15:06:59
 */
public interface StructService extends IService<Struct> {

    ResultVo<PageInfo<Struct>> getStructPageInfo(String name, @NotNull(message = "当前页码不能为空") @Min(value = 1, message = "当前页码必须大于等于1") @Max(value = Integer.MAX_VALUE, message = "当前页码不能超过整型范围") Integer pageNum, @NotNull(message = "每页显示条数不能为空") @Min(value = 1, message = "每页显示条数必须大于等于1") @Max(value = Integer.MAX_VALUE, message = "每页显示条数不能超过整型范围") Integer pageSize);

    ResultVo<?> add(Struct struct);

    ResultVo<?> getStructParamByStructId(Long structId);

    ResultVo<?> edit(Struct struct);

    ResultVo<?> removeId(Long structId);

    ResultVo<?> getStructList();
}
